SAS Real-Time Decision Manager 5.4 is unable to write any messages that are longer than 32KB to its user log. As a result, user logs are often empty or incomplete. Follow the steps below to get the full user log information (and more) in the macore log for a given campaign execution.
Set a higher logging level
Keep in mind that the change that is described below requires you to restart SAS® Remote Services and the SAS® Web applications on which it depends. Make these changes at a time that you can restart the application.
First, set the SDS Polling Server logging.
- Find the directory under /Lev1 that contains the SDS Polling Server's sdslogconfig file. This file is usually in ...Lev1\Applications\SASRealTimeServerConfig5.4. There is another file in the directory named sdslogconfig.trace.xml. Edit the SDS Polling Server properties under the Server Manager plug-in for SAS® Management Console. Copy the current command line and save it to a location from which it is easy to restore later. Substitute the fully qualified path and filename for sdslogconfig.trace.xml for the current filename, sdslogconfig.xml, after the –logcfgloc argument in the command line.
- Close all campaigns and diagrams that use the RTDM Object Spawner.
- Stop the RTDM Object Spawner in order to get the SDS servers to pick up the new logcfgloc argument.
- Check that the SAS processes that are associated with the RTDM Object Spawner have stopped. Not all SAS processes are owned by the RTDM Object Spawner. If you are not sure that the correct ones have stopped and you have the option of restarting everything that creates a SAS process, then restart your SAS environment. If you restart Remote Services, remember to restart the SAS® Marketing Automation and SAS Real-Time Decision Manager web applications after Remote Services restarts.
- Restart the RTDM Object Spawner.
Next, set the SAS Marketing Automation logging level.
- In SAS Management Console Foundation Services Manager, select Remote Services ► Core ► Logging Service.
- Right-click Logging Service and select Properties.
- On the Service Configuration tab, go to Configuration...,Contexts. Select
com.sas.analytics.crm.
- Click Edit and choose priority = DEBUG, output selected = MA. This context and priority gets the XML payload from SAS® Decision Services.
- Back on Contexts, select com.sas.analytics.crm.persistence ► Edit, and choose priority = INFO, output selected = MA. This selection prevents extra persistence messages from cluttering the macore log.
- Again on Contexts, select com.sas.analytics.crm.web ► Edit and choose priority= INFO, output selected = CWS. This context is not necessary for gathering the information that you want, so you are sending it to a different location.
- In the SAS Management Console Foundation Services Manager, select Remote Services ► Core ► Logging Service, Properties, Service Configuration, Configuration...
- Select Outputs = MA, File Output = your-env/your-ma-core-filename.log.
Finally, set the SAS Real-Time Decision Manager logging level.
- Back up the SASRealTimeDesignServer5.4.ear file at ...\IBM\WebSphere\AppServer\profiles\your-profile\installedApps\SASDmgr01Cell\SASReal-TimeDesignServer5.4.ear.
- Extract the log4j.properties file from the path ...\IBM\WebSphere\AppServer\profiles\your-profile\installedApps\SASDmgr01Cell\SASReal-TimeDesignServer5.4.ear\sas.rtdm.designserver.war\WEB-INF\.
- Edit the log4j.properties file. It should have the following contexts and values. The contexts that you need to change for your purposes are the entries that contain ph. That is, change the second and third entries, below. Note that you do not have to set full DEBUG logging. The information that you get from INFO is sufficient.
log4j.rootLogger=INFO, rdmroot
log4j.logger.com.sas.analytics.ph.common=INFO, logfile
log4j.additivity.com.sas.analytics.ph.common=false
log4j.logger.com.sas.analytics.ph.rt=INFO, logfile
log4j.additivity.com.sas.analytics.ph.rt=false
log4j.logger.com.sas.conn=INFO, logfile
log4j.additivity.com.sas.conn=false
log4j.logger.com.sas=INFO, logfile
log4j.additivity.com.sas=false
log4j.logger.org.jgroups=INFO, logfile
log4j.additivity.org.jgroups=false
log4j.logger.com.sas.rtdm.designserver=INFO, logfile
log4j.additivity.com.sas.rtdm.designserver=false
log4j.logger.com.sas.rtdm.implementation=INFO, logfile
log4j.additivity.com.sas.rtdm.implementation=false
log4j.logger.org.springframework=INFO, logfile
log4j.additivity.org.springframework=false
# define the "systemout" log appender:
log4j.appender.systemout=org.apache.log4j.ConsoleAppender
log4j.appender.systemout.layout=org.apache.log4j.PatternLayout
log4j.appender.systemout.layout.ConversionPattern=%d %-5p %x %c — %m%n
# define the "logfile" log appender:
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=D\:\\SAS\\Config\\Lev1\\Web\\Logs\\SASRealTimeDesignServer5.4.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %-5p %x %c — %m%n
# Separate appender for root logging context so that later
# re-config of log4j does not close an appender we need open.
log4j.appender.rdmroot=org.apache.log4j.ConsoleAppender
log4j.appender.rdmroot.layout=org.apache.log4j.PatternLayout
log4j.appender.rdmroot.layout.ConversionPattern=%d %-5p %x %c — %m%n
- Package the log4j file in a ZIP file and save it to the WEB-INF directory of the RTDM Design Server WAR file, sas.rtdm.designserver.war.
- Package the modified RTDM Design Server WAR file, sas.rtdm.designserver.war, in a ZIP file to the RTDM Design Server EAR file, SASReal-TimeDesignServer5.4.ear.
- Redeploy the RTDM Design Server EAR file to a WebSphere Application Server and then restart the middle-tier environment for your application.
Note that setting the logging level in the following file does not have the desired effect:
\\machine\SAS\Config\Lev1\Web\Common\LogConfig\SASRealTimeDecisionManagerDesignServer-log4j.xml
Run the campaign in the correct environment
Run the decision campaign in the SAS Customer Intelligence Studio Test environment. The test environment exercises the same code within the RTDM Design Server that is exercised in the RTDM Engine Server when the campaign is run in production. The log messages that come from the RTDM Design Server are written to macore with the log settings that are listed below. These log messages include all of the information that you would get from the user log as well as some other details.
Find the information that you need by examining the SASMarketingAutomationCore5.4 (macore) log
In order to find the pertinent entries in the macore log, search for the word FlowDefinition. Find the flow definition that contains the flow ID for your campaign.
The flow ID is in the properties of the run-time flow in the RTDM Design Server repository in the SAS Management Console. When you run your campaign, the application generates a temporary run-time flow. Find this run-time flow in the RTDM Design Repository in the SAS Management Console. The description field contains the name of your campaign. The name field contains the flow ID with a "_" prefix to indicate that the flow is a temporary run-time flow.
In order to find the test case payload, search for the keywords TestInput and TestOutput.
The Design Server information that is written to macore also includes timestamps. These timestamps have the information that is needed for performance testing.
Operating System and Release Information
SAS System | SAS Real-Time Decision Manager | Microsoft® Windows® for 64-Bit Itanium-based Systems | 5.4 | 5.4_M1 | | 9.2 TS2M0 |
Microsoft Windows Server 2003 Datacenter 64-bit Edition | 5.4 | 5.4_M1 | | 9.2 TS2M0 |
Microsoft Windows Server 2003 Enterprise 64-bit Edition | 5.4 | 5.4_M1 | | 9.2 TS2M0 |
Microsoft Windows XP 64-bit Edition | 5.4 | 5.4_M1 | | 9.2 TS2M0 |
Microsoft® Windows® for x64 | 5.4 | 5.4_M1 | | 9.2 TS2M0 |
Microsoft Windows Server 2003 Datacenter Edition | 5.4 | 5.4_M1 | | 9.2 TS2M0 |
Microsoft Windows Server 2003 Enterprise Edition | 5.4 | 5.4_M1 | | 9.2 TS2M0 |
Microsoft Windows Server 2003 Standard Edition | 5.4 | 5.4_M1 | | 9.2 TS2M0 |
Microsoft Windows Server 2003 for x64 | 5.4 | 5.4_M1 | | 9.2 TS2M0 |
Microsoft Windows Server 2008 for x64 | 5.4 | 5.4_M1 | | 9.2 TS2M0 |
Microsoft Windows XP Professional | 5.4 | 5.4_M1 | | 9.2 TS2M0 |
Windows Vista | 5.4 | 5.4_M1 | | 9.2 TS2M0 |
Windows Vista for x64 | 5.4 | 5.4_M1 | | 9.2 TS2M0 |
64-bit Enabled AIX | 5.4 | 5.4_M1 | | 9.2 TS2M0 |
64-bit Enabled Solaris | 5.4 | 5.4_M1 | | 9.2 TS2M0 |
Linux for x64 | 5.4 | 5.4_M1 | | 9.2 TS2M0 |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.